package com.yc.cloud.sys.feign;

import com.yc.cloud.common.config.FeignConfig;
import com.yc.cloud.common.model.response.Outcome;
import com.yc.cloud.sys.fallback.SysClientFallback;
import com.yc.cloud.sys.model.UserInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.Set;

/**
 * @author 杨智杰
 * @date 2021/8/13 13:09
 */
@FeignClient(value = "sys-api", contextId = "sys-feign", path = "/sys",
        fallback = SysClientFallback.class, configuration = FeignConfig.class)
public interface SysClient {

    /**
     * 获取当前登录用户信息
     *
     * @return 用户信息
     */
    @GetMapping("/user/getLoginUser")
    Outcome<UserInfo> getLoginUser();

    /**
     * 当前是否处于登录状态
     *
     * @return 是或否
     */
    @GetMapping("/loginCheck")
    Boolean loginCheck();

    /**
     * 获取当前登录用户的数据范围
     *
     * @return 部门Id集合
     */
    @GetMapping("/department/getDataScope")
    Set<Long> getDataScope();

}
